Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.ImageProcessing.SpecialEffects
Public Sub PerspectiveConstructorExample()
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"))
' Prepare the command
Dim cornerPoints() As LeadPoint
ReDim cornerPoints(3)
cornerPoints(0).X = CInt(leadImage.Width * 3 / 9)
cornerPoints(0).Y = CInt(leadImage.Height * 1 / 12)
cornerPoints(1).X = CInt(leadImage.Width * 3 / 4)
cornerPoints(1).Y = CInt(leadImage.Height * 2 / 12)
cornerPoints(2).X = CInt(leadImage.Width * 2 / 10)
cornerPoints(2).Y = CInt(leadImage.Height * 8 / 10)
cornerPoints(3).X = CInt(leadImage.Width * 10 / 11)
cornerPoints(3).Y = CInt(leadImage.Height * 7 / 10)
Dim command As New PerspectiveCommand(cornerPoints, New RasterColor(255, 0, 0), PerspectiveCommandType.Image)
command.Run(leadImage)
codecs.Save(leadImage, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24)
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.SpecialEffects;
public void PerspectiveConstructorExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg"));
// Prepare the command
LeadPoint[] cornerPoints = new LeadPoint[4];
cornerPoints[0].X = image.Width * 3 / 9;
cornerPoints[0].Y = image.Height * 1 / 12;
cornerPoints[1].X = image.Width * 3 / 4;
cornerPoints[1].Y = image.Height * 2 / 12;
cornerPoints[2].X = image.Width * 2 / 10;
cornerPoints[2].Y = image.Height * 8 / 10;
cornerPoints[3].X = image.Width * 10 / 11;
cornerPoints[3].Y = image.Height * 7 / 10;
PerspectiveCommand command = new PerspectiveCommand(cornerPoints,
new RasterColor(255, 0, 0),
PerspectiveCommandType.Image);
command.Run(image);
codecs.Save(image, Path.Combine(LEAD_VARS.ImagesDir, "Result.jpg"), RasterImageFormat.Jpeg, 24);
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
using Leadtools;
using Leadtools.Codecs;
using Leadtools.ImageProcessing.SpecialEffects;
[TestMethod]
public async Task PerspectiveConstructorExample()
{
// Load an image
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
string srcFileName = @"Assets\Image1.cmp";
StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName);
RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile));
// Prepare the command
LeadPoint[] cornerPoints = new LeadPoint[4];
cornerPoints[0].X = image.Width * 3 / 9;
cornerPoints[0].Y = image.Height * 1 / 12;
cornerPoints[1].X = image.Width * 3 / 4;
cornerPoints[1].Y = image.Height * 2 / 12;
cornerPoints[2].X = image.Width * 2 / 10;
cornerPoints[2].Y = image.Height * 8 / 10;
cornerPoints[3].X = image.Width * 10 / 11;
cornerPoints[3].Y = image.Height * 7 / 10;
PerspectiveCommand command = new PerspectiveCommand(cornerPoints,
RasterColorHelper.Create(255, 0, 0),
PerspectiveCommandType.Image);
command.Run(image);
string destFileName = @"result.bmp";
StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(destFileName);
await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.Bmp, 24);
}